//这里主要用于操作数据库的

const User = require('../model/use.model')

class UserService {
    //向数据库添加新用户的方法
  async createUser(user_name, password) {
    // 插入数据
    // User.create({
    //   // 表的字段
    //   user_name: user_name,
    //   password: password
    // })
    // await表达式: promise对象的值
    const res = await User.create({ user_name, password })
    // console.log(res)

    return res.dataValues
  }

  async getUerInfo({id,user_name,password,is_admin}){
    const whereOpt = {}
    //assign 为复制的意思，如果id存在，则会把id里的值复制进whereOpt里面,古国不存在就不会执行后面的结果
    id && Object.assign(whereOpt,{ id })
    user_name && Object.assign(whereOpt,{ user_name })
    password && Object.assign(whereOpt,{ password })
    is_admin && Object.assign(whereOpt,{ is_admin })

    const res = await User.findOne({
      //attributes 是我们要查询的字段
      attributes:['id','user_name','password','is_admin'],
      where:whereOpt//条件
    })
    //如果有结果 ，就返回dataValues,没有结果就返回null
    return res ? res.dataValues : null
  }
}

module.exports = new UserService()